1. Field of the Invention
The present invention relates to a method for exchanging a large amount of information in a computer network which is an collection of autonomous computers interconnected by communication networks.
2. Description of the Prior Art
It is known to have a communication subnet (hereinafter referred to as a subnet) connect a plurality of computers each including an interface and a CPU intended for running user program, which are called hosts in computer network shown in FIG. 1. The function of the subnet is to carry messages (data) from host to host. The subnet consists of two basic components, i.e., Interface Message Processors (hereinafter referred to as 1F) serving as switching elements and numerous cables or leased telephone lines connecting a pair of 1Fs as transmission lines (hereinafter referred to as channel).
There are two general types of designs for the subnet: (1) a Point-to-point subnet, and (2) a Shared-transmit/receive subnet. In a point-to-point subnet a pair of 1Fs are connected by each channel, and if two 1Fs that do not share a cable nevertheless wish to communicate, they must do so indirectly, via other 1Fs. When a message is sent from one 1F to another via one or more intermediate 1Fs, the message is received at each intermediate 1F, stored there until the required output line is free, and then forwarded. Shown in FIG. 2, a computer network consists of four computers each having three 1Fs respectively for communicating with another three computers, with each interconnected pair of 1Fs connected by means of respective cables. In this design the number of 1Fs and cables increases corresponding to the increase in the number of computers to be interconnected, and results in an increase in the construction cost of such computer networks.
The second kind of communication systems involves a shared-transmit/receive channel. In these systems there is a single communication channel shared by all 1Fs of plural computers, and messages sent by any 1F are received by all other 1Fs. It has some arbitration mechanism to resolve conflicts when two or more 1Fs want to transmit simultaneously. If there are n 1Fs corresponding to the number of the computers, n(n-1) cables could be allocated for communication.
There are several possibile ways to implement shared-transmit/receive systems. One is a bus networks shown in FIG. 3, which includes a number of computers having respective 1Fs for communication, each 1F connected to a single communication cable by a respective cable. In a bus network, at any instant one computer is the bus master and is allowed to transmit, all other computers are required to refrain from sending data. A bus network must have some arbitration mechanism to resolve conflicts when two or more 1Fs want to transmit simultaneously.
Another shared-transmit/receive system is the ring network shown in FIG. 4. The ring network is basically a passive, electrically connected cable onto which all stations tap. In other words, a ring net is actually a series of point-to-point cables between consecutive stations.
Computer networks are required to take a raw transmission facility and transform it into a communication line that appears free of transmission errors to the networks. It accomplishes this task by breaking the data to be sent up into data frames, i.e , into physical-layer-service-data-units, transmitting the frames sequentially, and processing the acknowledgement frames sent back by the receiver. The units of information exchanged and routed within the network are called packets.
Most networks are organized as a series of layers, which are categories of functions and associated communications. The purpose of each layer is to offer certain services to the higher layers, and a layer of one computer carries on a conversation with a layer of another computer. The rules and conventions used in this conversation are collectively called the protocol of the layer. For example, there is the physical layer where raw bits of the information are transmitted over a communication channel at the lowest layer, the network layer which controls the operation of the network, the session layer which is the user's 1F into the network and performs certain transformations on the data, the transport layer which is the host (computer)-host (computer) layer and accepts data from the session layer, divides it into smaller units, passes the smaller units to the network layer, and ensures that the pieces all arrive correctly at the other en computer, and the application layer which is up to the individual user at the highest layer. The function of the transport layer is to deliver messages in the order in which they are sent over a virtual point-to-point channel, or broadcast messages to multiple destinations. This transport layer takes care of establishing and deleting connections across the network.
Multiple network connections for data communication are established by some kind of switching. One switching method is circuit switching in which the connection, which can be via a telephone system, between the source computer and the destination computer is once established and continued until the transmission of a data frame is finished. An alternative switching is message switching in which no physical path is established in advance between sender and receiver. With message switching, a message in the form of a data packet is sent from the 1F of one computer to that of another via one or more intermediary computer 1F's. The packet addressed to the respective designation 1F is received at each intermediary 1F, stored there until the required output line directed to the designation computer is free, and then forwarded. Another possibility is packet switching which allows one packet of a multipacket message to be forwarded before the subsequent one has fully arrived. However, with message switching, a single block of data may tie up an 1F-1F line including many intermediary computers between the sender computer and the receiver computer for many minutes, and therefore it renders message switchin useless for interactive communication. For these reasons, computer networks are usually packet switched, or occasionally circuit switched, but never message switched. Circuit switching networks are well suited to handling large amounts of data like image data, but with circuit switching, any unused circuit is wasted. The advantage of packet switching is that it is utilized by other packets from unrelated sources going to unrelated destinations, because circuits are never dedicated. However the overhead associated with the establishment of a virtual circuit will be large compared with the total transmission time. The disadvantage of circuit switching over packet switching is that the transmission efficiency is lower because the circuit once set up will be held until the transmission is finished.
For arbitration among several competing requests for the channel within the network, there are some different kinds of protocol. One protocol is a carrier sense multiple access collision detection (hereinafter referred to as CSMA/CD) protocol in which computers listen for a carrier and act to the multiple computer accordingly. When a host has data to send, it first listens to the channel to see if anyone else is transmitting. If the channel is busy, the host waits until it becomes idle. When the host detects an idle channel, it transmits a packet. At the time the host has finished transmitting its packet, any other host having a packet to send may now attempt to do so. If two or more hosts decide to transmit simultaneously, there will be a collision. Each host will detect the collision, abort its transmission, wait a random period of time, and then try again, assuming that no other station has started transmitting in the meantime.
An alternative is a ring network in which a special pattern, called a token, circulates around the ring as shown in FIG. 4 whenever all hosts are idle. When a host wants to transmit a packet, it is required to seize the token and remove it from the ring before transmitting. The 1F of the host monitors all bits that pass by in order to remove the token. As the last bit of the token passes by, a ring interface redefines the token by changing the token into another bit pattern, known as a connector. Immediately after the token has been so transformed, the host making the transformation is permitted to begin transmitting.
In case of transmitting large amounts of data like image data, it is needed to send each of multiframe data by breaking the data into individual frames in order to avoid causing transmission errors in the received frame.
The existing LAN (Local Area Network) is the shared transmit/receiver channel network employing packet switching. Therefore, when a host has large amount of data including many frames to send, it is required to be allowed to connect to the shared channel every frame, and then begin transmitting. It takes times to send each frame according to the protocol, and actual data transmission time per total transmission time decreases corresponding to the amount of data to be sent. Further data transmission between the source and the designation computer may be interrupted because of a busy channel depending upon the channel capacity. Ultimately, a deadlock is caused in the computer network, in which the first 1F cannot proceed until the second 1F does something, and the second 1F cannot proceed because it is waiting for the first 1F to do something. Both 1Fs have ground to a complete halt and will stay that way indefinitely.
Further, a transmission error caused by a variety of different noises being introduced to the frame is detected using error detecting codes, and corrected using error correcting codes. It also takes time to have the bad blocks of data retransmitted after being allowed to transmit data depending on the load of channel.
Furthermore, when the transmission rate in the source computer having data to send is different from the reception rate in the designation computer, it damages the frame because of an incomplete transmission. This raises a reliability problem in the communication networks.
For achieving reliable, efficient communication between the source and designation computers connected by a communication channel, there are some protocols used in the data link layer, which deal with the frame containing control information in addition to the message (data ) to be transffered without errors. One such protocol is a High-level Data link Control which is limited to use for the point-to-point channel network or the point-to-multipoint channel network. These methods do not sufficiently resolve the problems of transmission error, and efficient communication.
In recent times, the need to develop computer networks capable of data transmission between multipoint-to-multipoint channels used by Local networks has increased, and in particular, there is a real need for a method for exchanging a large amount of information efficiently, and free of error in the computer network.